package xyz.qy.implatform.service;

import com.baomidou.mybatisplus.extension.service.IService;
import xyz.qy.implatform.dto.RegionGroupDTO;
import xyz.qy.implatform.entity.RegionGroup;
import xyz.qy.implatform.vo.RegionGroupMemberVO;
import xyz.qy.implatform.vo.RegionGroupVO;

import java.util.List;

/**
 * 地区群聊service
 *
 * @author Polaris
 * @since 2024-10-26
 */
public interface IRegionGroupService extends IService<RegionGroup> {
    /**
     * 查询用户常驻的地区群聊
     *
     * @return 地区群聊列表
     */
    List<RegionGroupVO> findRegionGroups();

    /**
     * 根据地区群聊id查询常驻成员
     *
     * @param regionGroupId 地区群聊id
     * @return 地区群聊常驻成员列表
     */
    List<RegionGroupMemberVO> findRegionGroupMembers(Long regionGroupId);

    /**
     * 加入地区群聊
     *
     * @param regionGroupDTO 入参
     * @return 地区群聊
     */
    RegionGroupVO joinRegionGroup(RegionGroupDTO regionGroupDTO);

    /**
     * 退出地区群聊
     *
     * @param regionGroupDTO 入参
     */
    void quitRegionGroup(RegionGroupDTO regionGroupDTO);
}
